package com.niuke;

/**
 * Description:
 * Copyright:   Copyright (c)2019
 * Company:     zefu
 *
 * @author: 张李鑫
 * @version: 1.0
 * Create at:   2021-12-10 13:47:23
 * <p>
 * Modification History:
 * Date         Author      Version     Description
 * ------------------------------------------------------------------
 * 2021-12-10     张李鑫                     1.0         1.0 Version
 */
public class JZ58 {
    /**
     * 汇编语言中有一种移位指令叫做循环左移（ROL），现在有个简单的任务，就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列  S ，
     * 请你把其循环左移 K 位后的序列输出（保证 K 小于等于 S 的长度）。例如，字符序列 S = ”abcXYZdef” , 要求输出循环左移 3 位后的结果，即 “XYZdefabc” 。是不是很简单？OK，搞定它！
     */

    public static String LeftRotateString(String str, int n) {
        if (null == str || str.length() < 2) {
            return str;
        }
        int temp = n > str.length() ? n % str.length() : n;

        StringBuilder stringBuilder = new StringBuilder();

        for (int i = temp; i < str.length(); i++) {
            stringBuilder.append(str.charAt(i));
        }
        for (int i = 0; i < temp; i++) {
            stringBuilder.append(str.charAt(i));
        }
        return stringBuilder.toString();
    }

    public static void main(String[] args) {
        String a = "aab";

    }

}
